
package Control;

import Database.ConexaoDB;
import Model.Regiao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

public class Control_Regiao {
    
    Connection con = new ConexaoDB().conectar();
    PreparedStatement pstm;
    ResultSet rs;
    
    String cadastraRegiao = "INSERT INTO REGIAO(REGIAO_ID, REGIAO_DESCRICAO, REGIAO_1, REGIAO_2, REGIAO_3,"
            + "REGIAO_4, REGIAO_5, REGIAO_6, REGIAO_7, REGIAO_8, REGIAO_9, REGIAO_10) VALUES(0,?,?,?,?,?,?,?,?,?,?,?)";
    
    String alteraRegiao = "UPDATE REGIAO SET REGIAO_DESCRICAO=?, REGIAO_1=?, REGIAO_2=?, REGIAO_3=?,"
            + "REGIAO_4=?, REGIAO_5=?, REGIAO_6=?, REGIAO_7=?, REGIAO_8=?, REGIAO_9=?, REGIAO_10=? WHERE REGIAO_ID=?";
     
    String excluiRegiao = "DELETE FROM REGIAO WHERE REGIAO_ID=?";
    
    String consultaRegiaoCodigo = "SELECT * FROM REGIAO WHERE REGIAO_ID LIKE ?";
    
    String consultaRegiaoNome = "SELECT * FROM REGIAO WHERE REGIAO_DESCRICAO LIKE ?";
    
    String consultaRegiaoTodosNome = "SELECT * FROM REGIAO ORDER BY REGIAO_DESCRICAO";
    
    String consultaRegiaoTodosCodigo = "SELECT * FROM REGIAO ORDER BY REGIAO_ID";
    
      
    ConexaoDB BD = new ConexaoDB();
    
    
    public Control_Regiao(){ }                                
    
    public void cadastrarRegiao(Regiao regiao){
         try{
            pstm = BD.conectar().prepareStatement(cadastraRegiao);
            pstm.setString(1, regiao.getRegiao_descricao());
            pstm.setString(2, regiao.getRegiao_1());
            pstm.setString(3, regiao.getRegiao_2());
            pstm.setString(4, regiao.getRegiao_3());
            pstm.setString(5, regiao.getRegiao_4());
            pstm.setString(6, regiao.getRegiao_5());
            pstm.setString(7, regiao.getRegiao_6());
            pstm.setString(8, regiao.getRegiao_7());
            pstm.setString(9, regiao.getRegiao_8());
            pstm.setString(10, regiao.getRegiao_9());
            pstm.setString(11, regiao.getRegiao_10());            
            pstm.executeUpdate();
            BD.desconectar(con);
         }
         catch(Exception e){
               e.printStackTrace();   
            }
    }
    
    public void alterarRegiao(Regiao regiao){
         try{
            pstm = BD.conectar().prepareStatement(alteraRegiao);
            pstm.setString(1, regiao.getRegiao_descricao());
            pstm.setString(2, regiao.getRegiao_1());
            pstm.setString(3, regiao.getRegiao_2());
            pstm.setString(4, regiao.getRegiao_3());
            pstm.setString(5, regiao.getRegiao_4());
            pstm.setString(6, regiao.getRegiao_5());
            pstm.setString(7, regiao.getRegiao_6());
            pstm.setString(8, regiao.getRegiao_7());
            pstm.setString(9, regiao.getRegiao_8());
            pstm.setString(10, regiao.getRegiao_9());
            pstm.setString(11, regiao.getRegiao_10());
            pstm.setInt(12, regiao.getRegiao_id());
            pstm.executeUpdate();
            BD.desconectar(con);
         }
         catch(Exception e){
               e.printStackTrace();   
            }
    }
    
    public void excluirRegiao(Regiao regiao){
         try{
            pstm = BD.conectar().prepareStatement(excluiRegiao);
            pstm.setInt(1, regiao.getRegiao_id());
            pstm.executeUpdate();
            BD.desconectar(con);
         }
         catch(Exception e){
               e.printStackTrace();   
            }
    }
    
    public java.util.List<Regiao> listarRegiaoCodigo(String codigo){
        java.util.List<Regiao> regiao = new ArrayList();
        try{
            pstm = BD.conectar().prepareStatement(consultaRegiaoCodigo);
            pstm.setString(1, codigo);
            rs = pstm.executeQuery();
            
            while (rs.next()){
                Regiao reg = new Regiao();
                reg.setRegiao_id(rs.getInt("regiao_id"));
                reg.setRegiao_descricao(rs.getString("regiao_descricao"));
                reg.setRegiao_1(rs.getString("regiao_1"));
                reg.setRegiao_2(rs.getString("regiao_2"));
                reg.setRegiao_3(rs.getString("regiao_3"));
                reg.setRegiao_4(rs.getString("regiao_4"));
                reg.setRegiao_5(rs.getString("regiao_5"));
                reg.setRegiao_6(rs.getString("regiao_6"));
                reg.setRegiao_7(rs.getString("regiao_7"));
                reg.setRegiao_8(rs.getString("regiao_8"));
                reg.setRegiao_9(rs.getString("regiao_9"));
                reg.setRegiao_10(rs.getString("regiao_10"));
                regiao.add(reg);
            }
            BD.desconectar(con);
        } catch(Exception e){
            e.printStackTrace();
        }
        return regiao;
    }
    
    public java.util.List<Regiao> listarRegiaoNome(String nome){
        java.util.List<Regiao> regiao = new ArrayList();
        try{
            pstm = BD.conectar().prepareStatement(consultaRegiaoNome);
            pstm.setString(1, nome);
            rs = pstm.executeQuery();
            
            while (rs.next()){
                Regiao reg = new Regiao();
                reg.setRegiao_id(rs.getInt("regiao_id"));
                reg.setRegiao_descricao(rs.getString("regiao_descricao"));
                reg.setRegiao_1(rs.getString("regiao_1"));
                reg.setRegiao_2(rs.getString("regiao_2"));
                reg.setRegiao_3(rs.getString("regiao_3"));
                reg.setRegiao_4(rs.getString("regiao_4"));
                reg.setRegiao_5(rs.getString("regiao_5"));
                reg.setRegiao_6(rs.getString("regiao_6"));
                reg.setRegiao_7(rs.getString("regiao_7"));
                reg.setRegiao_8(rs.getString("regiao_8"));
                reg.setRegiao_9(rs.getString("regiao_9"));
                reg.setRegiao_10(rs.getString("regiao_10"));
                regiao.add(reg);
            }
            BD.desconectar(con);
        } catch(Exception e){
            e.printStackTrace();
        }
        return regiao;
    }
    
    public java.util.List<Regiao> listarRegiaoTodosNome(){
        java.util.List<Regiao> regiao = new ArrayList();
        try{
            pstm = BD.conectar().prepareStatement(consultaRegiaoTodosNome);
            rs = pstm.executeQuery();
            
            while (rs.next()){
                Regiao reg = new Regiao();
                reg.setRegiao_id(rs.getInt("regiao_id"));
                reg.setRegiao_descricao(rs.getString("regiao_descricao"));
                reg.setRegiao_1(rs.getString("regiao_1"));
                reg.setRegiao_2(rs.getString("regiao_2"));
                reg.setRegiao_3(rs.getString("regiao_3"));
                reg.setRegiao_4(rs.getString("regiao_4"));
                reg.setRegiao_5(rs.getString("regiao_5"));
                reg.setRegiao_6(rs.getString("regiao_6"));
                reg.setRegiao_7(rs.getString("regiao_7"));
                reg.setRegiao_8(rs.getString("regiao_8"));
                reg.setRegiao_9(rs.getString("regiao_9"));
                reg.setRegiao_10(rs.getString("regiao_10"));
                regiao.add(reg);
            }
            BD.desconectar(con);
        } catch(Exception e){
            e.printStackTrace();
        }
        return regiao;
    }
    
    public java.util.List<Regiao> listarRegiaoTodosCodigo(){
        java.util.List<Regiao> regiao = new ArrayList();
        try{
            pstm = BD.conectar().prepareStatement(consultaRegiaoTodosCodigo);
            rs = pstm.executeQuery();
            
            while (rs.next()){
                Regiao reg = new Regiao();
                reg.setRegiao_id(rs.getInt("regiao_id"));
                reg.setRegiao_descricao(rs.getString("regiao_descricao"));
                reg.setRegiao_1(rs.getString("regiao_1"));
                reg.setRegiao_2(rs.getString("regiao_2"));
                reg.setRegiao_3(rs.getString("regiao_3"));
                reg.setRegiao_4(rs.getString("regiao_4"));
                reg.setRegiao_5(rs.getString("regiao_5"));
                reg.setRegiao_6(rs.getString("regiao_6"));
                reg.setRegiao_7(rs.getString("regiao_7"));
                reg.setRegiao_8(rs.getString("regiao_8"));
                reg.setRegiao_9(rs.getString("regiao_9"));
                reg.setRegiao_10(rs.getString("regiao_10"));
                regiao.add(reg);
            }
            BD.desconectar(con);
        } catch(Exception e){
            e.printStackTrace();
        }
        return regiao;
    }
}
